package com.xmx.ordercenter.config;

import org.springframework.amqp.core.*;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import static com.xmx.common.rabbitDto.OrderDto.*;

//@Configuration
public class OSubmitMQConfig {
//    @Bean
//    MessageConverter messageConverter() {
//        return new Jackson2JsonMessageConverter();
//    }
//    public static class OrderEventConfig{
//        /**
//         * 创建订单状态交换机
//         * @return
//         */
//        @Bean
//        public TopicExchange topicExchange(){
//            return new TopicExchange(ORDER_EVENT_EXCHANGE,true,false);
//        }
//        /**
//         * 创建消息队列（一个死信队列、一个ttl队列）
//         */
//        @Bean
//        public Queue ordercloseQueue(){
//            return new Queue(ORDER_CLOSE_QUEUE,true,false,false);
//        }
//
//        @Bean
//        public Queue orderCreateQueue(){
//            return QueueBuilder.durable(ORDER_CREATE_QUEUE)
//                    .exclusive() //排他
//                    .ttl(6*10*1000)
//                    .deadLetterExchange(ORDER_EVENT_EXCHANGE)
//                    .deadLetterRoutingKey(ORDER_CLOSE_ROUTING)
//                    .build();
//        }
//        /**
//         * 绑定队列交换机
//         */
//        @Bean
//        public Binding orderCreateBinding(){
//            return BindingBuilder.bind(orderCreateQueue()).to(topicExchange()).with(ORDER_CREATE_ROUTING);
//        }
//
//        @Bean
//        public Binding orderCloseBinding(){
//            return BindingBuilder.bind(ordercloseQueue()).to(topicExchange()).with(ORDER_CLOSE_ROUTING);
//        }
//    }
}
